package com.zmc.product.infrastructure.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zmc.common.domain.resp.order.OrderReduceInventoryResp;
import com.zmc.common.domain.resp.product.ProductInventoryResp;
import com.zmc.common.domain.vo.good.GoodsInventoryVo;
import com.zmc.common.domain.vo.good.GoodsUpVo;
import com.zmc.common.domain.vo.inventory.InventoryInitVo;
import com.zmc.product.infrastructure.entity.InventoryGoodsStockEntity;

import java.util.List;

/**
 * 库存中心的商品库存表
 *
 * @author zmc
 * @email 
 * @date 2024-11-28 14:03:53
 */
public interface InventoryGoodsStockService extends IService<InventoryGoodsStockEntity> {



    void saveInventory(InventoryInitVo vo);

    List<ProductInventoryResp> check(GoodsInventoryVo vo);

    InventoryGoodsStockEntity getBySkuId(String skuId);

    void deleteBySkuId(String skuId);

    void upToInventory(List<GoodsUpVo> list);

    OrderReduceInventoryResp lockStock(List<GoodsUpVo> list);

    void unlockStock(List<GoodsUpVo> list);

    void reduceStock(List<GoodsUpVo> list);

    void returnStock(List<GoodsUpVo> list);

}

